#ifndef NJF_RASTER_GDI_H
#define NJF_RASTER_GDI_H

/* eliminate warnings from Windows headers */
#ifdef _MSC_VER
    #pragma warning( disable : 4005) /* macro redefinition */
    #pragma warning( disable : 4668) /* not defined as preprocessor macro, replacing with 0 */
    #pragma warning( disable : 4255) /* no function prototype given */
#endif

#define WIN32_LEAN_AND_MEAN
#include <windows.h>

#include "raster-util.h"

/* Allocates and initializes a new GDI target raster */
EXTERNC Raster * __cdecl CreateGDITarget(HDC hDC, unsigned int fmt, unsigned int w, unsigned int h);
/* Frees memory used by a GDI target raster */
EXTERNC void __cdecl DestroyGDITarget(Raster *raster);
/* Blits the target raster to the specified device context */
EXTERNC int __cdecl GdiBlitRaster(HDC dc, const RasterRect *dstRect, Raster *raster, const RasterRect *srcRect);

#endif /* NJF_RASTER_GDI_H */
